1. Field of the Invention
This invention relates to network-based graphics windowing systems, and more specifically to a network window server that creates and manages a single logical screen comprised of multiple physical monitors.
2. Related Art
The X Window System is a standard for the implementation of network-based UNIX window systems. The X Window System provides users and developers with the functionality for creating and managing a window environment in a network-based computer system.
The X Window System Server, X-Server, is a multiuser device that controls the shared access to X Window resources through a standard interface called Xlib. Each executing X-Server manages a single graphics display consisting of a keyboard, a pointing device, such as a mouse, and one or more graphics hardware device each having one or more associated physical monitors. Physical monitors can differ in size, while graphics hardware devices differ in depth, and visual classes. The visual classes provide such information as: whether the graphics hardware supports color or grayscale, whether the set of displayable colors or shades of gray is fixed in hardware or can be changed, and if the monitor supports color, whether the intensities of red, green, blue primary colors are determined from a single lookup table or from individual tables, and the depth of the graphics hardware device which is the number of bits needed to represent a color.
The X-Server operates in two (2) multi-head configurations which are configurations comprising multiple physical monitors. The multi-head configurations are multi-seat and multi-screen. A multi-seat configuration comprises a graphics display dedicated to each user. Therefore, each user has a keyboard, mouse, one physical monitor, plus an X-Server to manage the graphics display. The graphics displays are completely independent of each other. A multi-screen configuration comprises a single graphics display connected to multiple physical monitors. Therefore, a user has a keyboard, mouse, multiple physical monitors, and one X-Server. A cursor on one physical monitor can be moved between the physical monitors. The X-Server, however, is limited in that it cannot create, move, nor span windows across the physical monitors. Window borders are restricted to the size and location of the physical monitor on which they were created.
This problem is most prevalent in two-dimensional graphic systems requiring the display of large amounts of data that cannot be completely displayed on one physical monitor. Examples of such large data systems include: real estate, financial (such as the stock market), control room, large engineering processes, military mapping, and telecommunications. Each of these systems requires the output of large amounts of data which can easily exceed the display capacity of a single physical monitor. A user can only view these large data sets by panning and zooming. Multiple screens are needed to shuffle between the layers of individual windows.
A user of a multiple physical monitor system would greatly benefit if the X-Server managed the multiple physical monitors as a single logical screen in which windows, as well as the pointer, can cross physical monitor boundaries. Therefore, the user could manipulate the single logical screen just as if it were a single physical monitor. The user would have full screen capabilities across each of the individual physical monitors, thereby providing the full presentation of large amounts of data in a useful format.
There are several commercial products that address this problem. Some of these products are briefly presented and discussed below:
MOSART (Mosaic Array Technology) is a software product that is a joint development effort between Sun Microsystems, Inc. and Bell SYGMA Telecom Solutions, and is wholly owned and marketed by Bell SYGMA Telecom Solutions. MOSART controls the partitioning and management of very large X windows that can be shown on a mosaic of multiple graphics displays. However, MOSART executes multiple X-Servers, one on each graphics display, thereby resulting in low interactivity speeds with the network.
QUADRATE, marketed by GeoScene, is an adaptation of the color frame buffer (CFB) portion of the X-Server. A CFB is a generic hardware driver for graphics having a framebuffer with multiple bits per pixel. A CFB is extremely slow in operation. In QUADRATE, information from a virtual frame buffer, which defines the virtual screen, is distributed to the multiple graphics displays. In addition, this product requires an X-Server executing on each graphics display. As a result of these implementation details, QUADRATE offers very slow response times to user window requests.
Xvan, developed by Sun Microsystems, Inc., is also a rewrite of the X-Server to display data across multiple monitors. Similar to the other products, Xvan implements a virtual frame buffer. Xvan, however, is very vendor specific and requires the use of specific hardware devices.
Metheus, a PC hardware and software solution for multiscreen displays which is not available for Unix based systems, features an X-Server executing on top of Windows, thereby resulting in slow response times. Metheus is also very expensive in that it requires specialty graphics boards.
These products provide alternative solutions that are either too slow, too hardware specific, or too expensive. Therefore, there is a need to efficiently manage multiple physical monitors of a network window system as one logical screen in which the single logical screen retains the full capabilities and functionality of a physical monitor.